In computer and communication networks, an overlay network is a network that is built on top of another, underlying network. Overlay network nodes are connected by virtual or logical links which can be mapped to the underlying (e.g. physical) links.
Network Virtualization using Overlays over Layer 3 (NVO3) is a technology that is used to address networking and addressing issues that can arise in building large, multi-tenant data centers that make extensive use of server virtualization.
In the NVO3 architecture, a Network Virtualization Authority (NVA) is a network entity that provides reachability and forwarding information to Network Virtualization Edge (NVE) nodes. The NVA can also be considered as a network controller. A tenant system (TS) can be attached to an NVE node, either locally or remotely. The NVE can be capable of providing Layer 2 (L2) and/or Layer 3 (L3) services, where an L2 NVE provides Ethernet local area network (LAN)-like service, and an L3 NVE provides Internet Protocol/Virtual Routing and Forwarding (IP/VRF)-like service.
FIG. 1 illustrates an example NVO3 architecture with four NVEs 102/104/106/108, each attached to at least one tenant system or network, in communication with a common NVA 110 in the overlay network 100.
In the example network of FIG. 1, NVE 102 is connected to tenant systems 112 and 114. NVE 104 is connected to tenant systems 116 and 118. NVE 106 is connected to tenant system 120 via network 122. NVE 108 is attached to tenant system 124.
An NVE is the network virtualization function that sits at the edge of an underlay network and implements L2 and/or L3 tenant separation and for hiding tenant addressing information (e.g. media access control (MAC) addresses and internet protocol (IP) addresses), tenant-related control plane activity and service contexts from the underlay nodes. NVE components may be used to provide different types of virtualized network services. NVO3 architecture allows IP encapsulation or Multiprotocol Label Switching (MPLS) encapsulation. The network-facing side of the NVE can use the underlying L3 network to tunnel frames to and from other NVEs. The tenant-facing side of the NVE can send and receives Ethernet frames to and from individual Tenant Systems. An NVE could be implemented as part of a virtual switch within a hypervisor, a physical switch or router, a Network Service Appliance, or be split across multiple devices.
Gateway and/or distributed gateway functions can also be specified in order to provide L3 forwarding and routing function in the NVO3 architecture. An NVA-NVE protocol can be used to configure the inner-outer address mapping table to be used by an NVE in routing traffic.
In some cases, a tenant system may become unreachable via its attached virtual access point, for example if the virtual network interface card (vNIC) is disabled by the tenant system. In this case, a remote NVE may not be aware of the virtual access point status changes and data traffic destined for the tenant system will still be forwarded over the overlay network. This traffic will be simply dropped by the attached NVE.
In another case, when an NVE is physically separated from the attached tenant system(s), a tenant system may attach to more than one NVE via the virtual access points. As such, the NVE can be considered to be “multi-homed”. That is, an NVE may have more than one IP address associated with it on the underlay network or alternatively, a specific tenant system may be reachable through more than one NVE. Multi-homed NVEs introduce complexities for tenant unicast and multicast traffic forwarding. In the specific case where tenant system data plane dynamic routing is supported, the NVE may need to determine a routing decision at data forwarding. Further, a virtual router installed at a tenant system can dynamically update its routing preference using a routing protocol. Similar to the above issue, a peer NVE has no way to learn this update and change its stored data forwarding rule accordingly.
Therefore, it would be desirable to provide a system and method that obviate or mitigate the above described problems.